English

一本UNIX的经典和传奇之作

2000-07-05 来源:中华读书报  我有话说

计算机操作系统中UNIX是其中特别有影响的一种。早期版本源代码的开放性、几种颇具特色的参考文献以及一批UNIX热衷者的积极介入也起者非常重要、不可替代的作用。这三种因素相互交融,其代表之一就是《莱昂氏UNIX源代码分析》(Lions’sCommentaryonUNIX6thEditionwithSourceCode)一书。

该书最早于1976年在作者当时所在的澳大利亚新南威尔士大学内部流通,一直受到UNIX黑客的关注,私下广为流传于世,是一部杰出、经典之作。但是由于有关公司希望保守在UNIX内核方面的商业机密,该书多年来从未正式出版。在各方有识之士的努力下,该书终于于1996年正式出版,此次中文版的推出在国内计算机图书出版界尚属首次。全书语言简洁、透彻;作为一本自学UNIX的教材,二十多年来一直鼓舞和激励着计算机和高级操作系统方面的专业人员和学生。

专业人士的评价:

丹尼斯·M·里奇

正式出版约翰·莱昂编著的《莱昂氏UNIX源代码分析》标志着一个悠长故事的圆满结束。在代码中你也可以观察到其基本结构,该结构沿用了很长时间,而且能够包容在计算环境中发生的巨大变化。在莱昂的分析中,你可以觉察到新鲜的、经常提出问题的立场,其中的很多词语和思想都很适宜于教育和学习。本书已经教育了一代人,它是计算机界中复印数量最多的一本书稿。将此书公开出版是件大好事。

肯·汤姆森

汤姆森和里奇因为开发和实现U?NIX操作系统而共同获得1983年ACM美国计算机协会图灵奖。

我对1997年中的那一天仍然是记忆犹新,那时我接到邮寄来的此书的第一份草稿,开始时我对此书并无很多期望,但是最后却是逐字逐句进行了仔细阅读。20年之后,此书依旧是对一个实际操作系统工作的最好分析说明。

格里格·罗斯

(格里格·罗斯曾就读于新南威尔士大学,毕业后创立了两家软件公司,其中一家经营至今。他在IBM的沃森研究中心作过一年访问学者,其后在澳大利亚计算与通信研究所和斯特林软件公司任职,并加盟高通公司。格里格是澳大利亚U?NIX系统用户组的前总裁和USENIX的董事。

有一个事实可以用来衡量《莱昂氏UNIX源代码分析》一书取得了何等成功,这就是它们的大量非法影印本的四处流行。我在1987年访问过一家小型计算机公司,居然在一个书架上发现了《莱昂氏UNIX源代码分析》的影印本,从其扉页上的答案推断,它至少是从经过四次复制的影印件上拷贝下来的,象这样的作法,纵然是近乎非法的,但依然通行无阻。

约翰·莱昂以其特有的方式写作《莱昂氏UNIX源代码分析》,并且重新组织操作系统这门课程的教学,其中包含着多种理由。在原书的绪论中,对多数理由已作了说明。但是有一条理由,在出版物中一向很少被人提及,这或许并非一条不太重要的理由。这就是那时构成计算机科学教学计划的所有课程中,除硬件课程之外,都教学生如何编写程序和调试程序。但是没有一门课程要求学生学会“阅读”程序。其他课程牵涉的都是小程序,即学生能够管理的程序,而UNIX核心系统显然是一个非常大的程序。对于这种情况,约翰以不无讽刺的口吻说:“他们看到仅有的大程序是那些由他们自己编写的程序;而这一个至少是写得很好的程序。”在以后的几年中,教学生们去阅读和考察代码变成人们接受的事实。

UNIX处处显现出设计者的见识和独具匠心,简明扼要而易于理解,兼收并蓄各种折衷和无需优化的低效代码。莱昂取得的部分成就,就是认识到UNIX的这种特质,并把它们融入自己的书中。

奥德尔

C语言曾经是一种非常优美的编程语言,它以一种雅致、奇妙的形态呈现在页面上。后来由于不良造型陈规和周全备至的类型定义,给语言带来损害。当今的C语言,由于追求它的全部功能改善和可移植性,似乎已经变成了许许多多的点和细长的边,其中旧的语言已成平缓的曲线,围绕着使用一种奇特结构的那些概念塑造着自己。

系统的其余部分亦属如此。诚然,我欣赏现代的tty处理程序,它能够从最简陋的终端上抽取出人类工程学上的有用行为,我也喜欢联网子系统,它能将我的击键声通过ISDN线路传递到我正用来写这篇文章的计算机上,而其性能比我从一台本地的9600波特的终端上获得的更好。但是,最重要的是我确实欣赏文件系统,它在受到无端的停机侵害面前,不会报以自行销毁。

但是书中存在的那个系统,完整地摆在那里。不错,今天的车座垫更加舒适,变速箱换上了同步离合器,然而系统的灵魂依旧,而约翰·莱昂所作的绝妙注释正好揭示了当初由肯和丹尼斯所注入的内在美。他的注释是简洁而深刻的,映照出代码的原形,解开了我的脑海中疑惑好奇之处。

作者简介:

Lions,1937年生于澳大利亚的悉尼。是悉尼大学应用理学学士,英国剑桥大学控制工程博士,曾受雇于多家公司,担任顾问及技术主管。1972年开始在澳大利亚新南威尔士大学执教,直至1995年因为健康原因退休。Lions先生是ACM会员,曾担任《澳大利亚计算机杂志》主编,同时他还是“澳大利亚UNIX系统用户组 的终身会员。

译者简介:

尤晋元,上海交通大学计算机科学及工程系教授、博士生导师、系主任,中国计算机学会理事,上海计算机学会软件工程专业委员会主任。在科研教学方面,他的主要工作领域是:操作系统设计与实现,分布对象计算,移动计算,构件/构架技术,Java技术。他曾编著、翻译过多本与操作系统,特别是UNIX系统有关的著作,深受读者欢迎。近期,尤晋元老师翻译了Stevens先生的名作《UNIX环境高级编程》(机械工业出版社出版)。

[值班总编推荐] 以劳动谱写时代华章

[值班总编推荐] 青年的朋友习近平

[值班总编推荐] 让青春在科技创新中焕发更加绚丽 ...

手机光明网

光明网版权所有

光明日报社概况 | 关于光明网 | 报网动态 | 联系我们 | 法律声明 | 光明网邮箱 | 网站地图

光明网版权所有